Dynamic image recognition model updates

ABSTRACT

Aspects of the subject disclosure may include, for example, receiving first image data for a first image from an electronic device, the first image data including first information associated with a first object identified by the electronic device as being in the first image. Second image data for a second image is received from the electronic device subsequent to receiving the first image data. The second image data includes second information associated with a second object identified by the electronic device as being in the second image. Location information is determined based on the first information and the second information and sent to the electronic device. Other embodiments are disclosed.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional of U.S. patent application Ser. No.16/132,802, filed Sep. 17, 2018, which is a continuation of U.S. patentapplication Ser. No. 14/561,353, filed Dec. 5, 2014, now U.S. Pat. No.10,115,185. All sections of the aforementioned application(s) and/orpatent(s) are incorporated herein by reference in their entirety.

FIELD OF THE DISCLOSURE

The present disclosure is generally related to image recognition.

BACKGROUND

Mobile devices, such as smartphones and tablet computing devices, may becapable of capturing and processing images (and/or video). Some imageprocessing operations, such as facial recognition or object recognition,may utilize significant processing resources. Such resource-intensiveimage processing operations may be difficult to perform at a mobiledevice due to power and/or other resource constraints. In some cases,mobile devices may offload resource-intensive image processingoperations to a remote server (e.g., a “cloud” computing resource).However, such offloading may require significant network bandwidth thatmay not be available to a mobile device at a particular time.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of a particular embodiment of an image recognitionsystem in which an electronic device (e.g., a mobile computing device,such as a smartphone or a tablet computing device) sends an imagerecognition model update request to a server in order to receive imagerecognition model update information;

FIG. 2 is a diagram of another embodiment of an image recognition systemin which an electronic device sends an image recognition model updaterequest (e.g., a facial recognition model update request) to a server inorder to receive image recognition model update information;

FIG. 3 is a diagram of another embodiment of an image recognition systemin which an electronic device sends an image recognition model updaterequest (e.g., an object recognition model update request) to a serverin order to receive image recognition model update information;

FIG. 4 is a diagram of another embodiment of an image recognition systemin which an electronic device sends an image recognition model updaterequest (e.g., an object recognition model update request) to a serverin order to receive image recognition model update information;

FIG. 5 is a diagram of another embodiment of an image recognition systemin which an electronic device sends an image recognition model updaterequest (e.g., an object recognition model update request) to a serverin order to receive image recognition model update information (alongwith image capture instructions to capture additional image data for useby the server to provide location information to the electronic device);

FIG. 6 is a flow diagram that illustrates a particular embodiment of amethod for sending an image recognition model update request from anelectronic device to a server and updating an image recognition modelstored at the electronic device based on image recognition model updateinformation received from the server;

FIG. 7 is a flow diagram that illustrates a particular embodiment of amethod for sending an image recognition model update request from anelectronic device to a server and updating an image recognition modelstored at the electronic device based on image recognition model updateinformation received from the server;

FIG. 8 is a flow diagram that illustrates a particular embodiment amethod for sending an image recognition model update request from anelectronic device to a server and updating an image recognition modelstored at the electronic device based on image recognition model updateinformation received from the server; and

FIG. 9 is a block diagram of an illustrative embodiment of a generalcomputer system.

DETAILED DESCRIPTION

The present disclosure describes systems and methods of dynamicallyupdating an image recognition model that is stored at a memory of anelectronic device (e.g., a mobile device, such as a smartphone or atablet computing device) by sending an image recognition model updaterequest to a server (e.g., on an “as-needed” basis). For example, theimage recognition model stored in the memory of the electronic devicemay correspond to a facial recognition model and/or an objectrecognition model. The electronic device may perform a first imagerecognition operation based on the image recognition model that isstored in the memory. When a result of the first image recognitionoperation (e.g., a confidence value) fails to satisfy a confidencethreshold (e.g., when the confidence value for a particular face/objectindicates that the particular face/object does not represent a match toa face/object that is stored in the memory), the electronic device mayrequest updated image recognition model information from the server.

In some cases, the server may determine the image recognition modelupdate information to be provided to the electronic device based on aparticular context. To illustrate, for a particular user, the electronicdevice may provide location information that may be used by the serverto identify a particular set of faces and/or objects that may beassociated with a particular location. As an example, when the user islocated at a first location (e.g., at work), a first set of faces orobjects may represent commonly encountered images (e.g., faces ofco-workers or objects at work) and may represent image data that isappropriate for local storage at the memory of the electronic device foruse in performing image recognition operation(s) at the first location.As another example, when the user is located at a second location (e.g.,at home), a second set of faces or objects may represent commonlyencountered images (e.g., faces of friends and/or family members orobjects at home) and may represent image data that is appropriate forlocal storage at the memory of the electronic device for use inperforming image recognition operation(s) at the second location. Thus,the electronic device may receive image recognition model updateinformation from the server that may improve a likelihood of success ofan image recognition operation. As memory resources at the electronicdevice may be limited, the image data (e.g., a set of faces or a set ofobjects) may be updated based on the recognition model updateinformation to discard image data that may not be contextually relevantfor image recognition operations. Thus, the electronic device mayrequest updated information that may improve image recognitionperformance while reducing an amount of memory at the electronic devicethat is allocated to storage of image data.

As another example, particular objects may have an object type that ismore contextually relevant for a particular location. To illustrate,images of automobiles may represent contextually relevant image data tobe stored at the memory of the electronic device when a user is locatedat an automobile dealership. As another example, images of grocery itemsmay represent contextually relevant image data to be stored at thememory of the electronic device when the user is located at a grocerystore. In some cases, an image recognition model that is stored in thememory of the electronic device may represent a generic imagerecognition model that may include image data associated with genericobjects (e.g., a type of automobile, such as a sedan, a coupe, or atruck), while information to generate a more robust image recognitionmodel may be received from the server at the electronic device. In thiscase, the server may update generic information associated with aparticular object with more detailed information for use in performingimage recognition operations. To illustrate, an object recognitionoperation performed at the electronic device may identify a particulartype of automobile. The electronic device may send informationassociated with the particular type of automobile (e.g., a truck) to theserver, and the server may provide more detailed image data for use inrecognizing particular makes and/or models of trucks. When suchinformation is no longer contextually relevant, the image data may bediscarded from the memory of the electronic device to be replaced withalternative image data for use in other image recognition operations.

In some cases, image data may be captured by a camera of the electronicdevice based on a first set of image capture parameters (e.g.,parameters to capture a narrow view of a scene rather than a wide viewof the scene). A particular type of object (e.g., abuilding) may beidentified based on an object recognition operation that is performed atthe electronic device. The electronic device may send informationassociated with the particular type of object (e.g., the building), andthe server may determine that additional image data may be useful inidentifying contextually relevant model updates to be provided to theelectronic device. Accordingly, the server may send image captureinstructions to the electronic device (e.g., to prompt a user to adjustthe image capture parameters or to instruct the electronic device toautomatically adjust the parameters). The camera may capture image databased on the updated image capture parameters (e.g., parameters tocapture a wide view of a scene) that may allow for identification ofanother object (e.g., a second building). Information associated withthe otheridentified object (e.g., the second building) may be providedto the server, and the server may provide location information to theelectronic device based on the information associated with the firstobject (e.g., the first building) and based on the informationassociated with the second object (e.g., the second building). Toillustrate, the additional information associated with the secondbuilding may be used by the server to more accurately determine aparticular location (e.g., a city, a street address, a neighborhood) andprovide image data that is contextually relevant for image recognitionoperations at the particular location (e.g., image data associated witha set of objects that are within a particular distance of the location).

In a particular embodiment, a method includes receiving first image dataat an electronic device and performing a first image recognitionoperation on the first image data based on a first image recognitionmodel stored in a memory of the electronic device. The method mayinclude sending an image recognition model update request from theelectronic device to a server, in response to determining that a resultof the first image recognition operation fails to satisfy a confidencethreshold. The method includes receiving image recognition model updateinformation from the server and updating the first image recognitionmodel based on the image recognition model update information togenerate a second image recognition model. The method further includesperforming a second image recognition operation (e.g., on the firstimage data or on second image data) based on the second imagerecognition model.

In another particular embodiment, a computer-readable storage devicestores instructions that are executable by a processor of an electronicdevice to perform operations. The operations include receiving firstimage data (e.g., captured by a camera) and performing a first imagerecognition operation on the first image data based on a first imagerecognition model. The operations further include sending an imagerecognition model update request to a server (in response to determiningthat a result of the first image recognition operation fails to satisfya confidence threshold). The operations include receiving imagerecognition model update information from the server and updating thefirst image recognition model based on the image recognition modelupdate information to generate a second image recognition model. Theoperations further include performing a second image recognitionoperation (e.g., on the first image data) based on the second imagerecognition model. In some cases, the operations may include receivingsecond image data (e.g., captured by a camera), and the second imagerecognition operation may be performed on the second image data based onthe second image recognition model.

In another particular embodiment, an electronic device includes aprocessor, and a memory coupled to the processor. In some cases, theelectronic device may further include a camera that is configured tocapture image data. The memory stores instructions that are executableby the processor to perform various operations. The operations mayinclude performing a first image recognition operation on first imagedata (that may be captured by the camera) based on a first imagerecognition model stored in the memory. The operations includedetermining location data associated with the first image data andsending the location data and an image recognition model update requestto a server. The operations further include receiving image recognitionmodel update information (that is determined based at least in part onthe location data) from the server. The operations include updating thefirst image recognition model based on the image recognition modelupdate information to generate a second image recognition model. Theoperations further include performing a second image recognitionoperation (e.g., on the first image data or on second image data thatmay be captured by the camera) based on the second image recognitionmodel.

Referring to FIG. 1, a particular embodiment of an image recognitionsystem is illustrated and generally designated 100. FIG. 1 illustrates aparticular example in which an electronic device 102 (e.g., asmartphone, a tablet computing device, etc.) may send an imagerecognition model update request (e.g., a facial recognition modelupdate request or an object recognition model update request) to aserver based on a result of a first image recognition operation that isperformed at the electronic device. In response to receiving the imagerecognition model update request, the server may provide informationthat may be used by the electronic device 102 to generate an updatedimage recognition model for performing additional image recognitionoperations.

In the particular embodiment illustrated in FIG. 1, the electronicdevice 102 includes a processor 104, a memory 106, a camera 108, and anetwork interface 110. The camera 108 is configured to capture imagedata 112 and to provide the image data 112 to one or more imagerecognition models 114 that are stored in the memory 106 of theelectronic device 102. For example, FIG. 1 illustrates that the imagerecognition model(s) 114 may include a first facial recognition model116 and a first object recognition model 118. In alternativeembodiments, alternative numbers and/or types of image recognitionmodels may be stored in the memory 106. For example, the imagerecognition model(s) 114 may include one or more facial recognitionmodels but may not include an object recognition model. As anotherexample, the image recognition model(s) 114 may include one or moreobject recognition models but may not include a facial recognitionmodel.

The electronic device 102 is configured to perform image recognitionoperation(s) on the image data 112 captured by the camera 108 (orsubsequent image data captured by the camera 108) based on theindividual image recognition model(s) 114 and based on image data 120that is stored in the memory 106. For example, in the case of a facialrecognition operation, the image data 120 may include first data 122that includes data associated with a first set of faces. As anotherexample, in the case of an object recognition operation, the image data120 may include first data 122 that includes data associated with afirst set of objects.

The first facial recognition model 116 may include instructions that areexecutable by the processor 104 to identify whether a particular portionof an image includes features that may be indicative of a human facebeing present in the particular portion of the image. When the firstfacial recognition model 116 determines that the particular portion ofthe image may be associated with a human face, the first facialrecognition model 116 may compare data associated with the identifiedface to the image data 120 (e.g., a first set of faces) to generate aresult (e.g., a confidence value).

The first object recognition model 118 may include instructions that areexecutable by the processor 104 to identify whether a particular portionof an image includes features that may be indicative of an object beingpresent. When the first object recognition model 118 determines that theparticular portion of the image may be associated with an object, thefirst object recognition model 118 may compare data associated with theidentified object to the image data 120 (e.g., a first set of objects)to generate a result (e.g., a confidence value).

The electronic device 102 is configured to determine whether a result ofa particular image recognition operation (e.g., the confidence value)satisfies a particular confidence threshold 130 (e.g., a confidencethreshold for facial recognition or a confidence threshold for objectrecognition). For example, in the case of a facial recognitionoperation, the confidence threshold 130 may represent a thresholdconfidence value for a particular face that is identified in the imagedata 112 based on the first facial recognition model 116 to beconsidered a match to a particular face of the first set of faces. Asanother example, in the case of an object recognition operation, theconfidence threshold 130 may represent a threshold confidence value fora particular object that is identified in the image data 112 based onthe first object recognition model 118 to be considered a match to aparticular object of the first set of objects. In a particularembodiment, the confidence threshold 130 may represent a “non-fixed”threshold that may be dynamically determined based on one or morefactors (e.g., a time of day, a time since a last user action, alocation, etc.). In some cases, an object recognition model may be ahierarchical model of objection recognition, and the confidencethreshold 130 may represent a categorical match associated with aparticular category (or level) of a hierarchy. As an illustrativenon-limiting example of a hierarchy, a “top” level of the hierarchy maybe a “vehicles” category, a “second” level of the hierarchy may includea “cars” sub-category and a “trucks” sub-category, and a “third” levelof the hierarchy may include particular makes and/or models of cars andtrucks. In this example, the confidence threshold 130 may represent athreshold for an object to be recognized as a vehicle, a threshold forthe object to be recognized as a car, a threshold for the object to berecognized as a truck, or a threshold for the objected to be recognizedas a particular make and model of car or truck.

In some cases, the confidence threshold 130 may include a “temporal”component. To illustrate, an interest level of a user may be inferredbased on a time when the user observes a particular result. In thisexample, the confidence threshold 130 may be adjusted (e.g., raised orlowered) and may trigger subsequent model loading/evaluations. Asanother example, the confidence threshold 130 and/or an associateddetermination of whether the confidence threshold 130 is satisfied maychange over time (e.g., a “decaying” confidence level). To illustrate, aconfidence level may decrease over time following an event (e.g., a“last user action”). If a threshold time period has elapsed followingthe event, the confidence level may no longer satisfy the confidencethreshold 130. In some cases, a “threshold function” may represent aclassifier that may utilize one or more factors as features to make adetermination as to whether a face/object is considered a match based ona (machine) learned combination.

In response to determining that a result of an image recognitionoperation (e.g., a facial recognition operation or an object recognitionoperation) fails to satisfy the confidence threshold 130, the electronicdevice 102 is configured to send an image recognition model updaterequest 132 to a server 134 (or multiple servers) via a network 136. Inthe particular embodiment illustrated in FIG. 1, the server 134 includesa processor 138 (or multiple processors), a memory 140, and one or moreimage recognition model update modules. For example, the imagerecognition update module(s) may include a facial recognition modelupdate module 142 and/or an object recognition model update module 144.In the example of FIG. 1, the server 134 also includes a permissionmodule 146. While not shown in FIG. 1, the permission module 146 maygenerate a user interface to be communicated to the electronic device102 via the network 136. The user interface may allow a user of theelectronic device 102 to authorize access to images stored at the memory106 and/or images uploaded to a social networking site by the user (thatmay be accessible to the server 134 via an application programminginterface), among other alternative sources of images for imagerecognition operations.

The server 134 is configured to communicate with one or more databases150. In the particular embodiment illustrated in FIG. 1, the database(s)150 include an image database 152 and (optionally) a location database154. For example, responsive to a user granting permission, the imagedatabase 152 may store data associated with a plurality of faces (e.g.,facial data), data associated with a plurality of objects (e.g., objectdata), or a combination thereof. In response to receiving the imagerecognition model update request 132, the server 134 is configured todetermine one or more model updates associated with a particular imagerecognition model and to provide the model update(s) to the electronicdevice 102 (via the network 136) as image recognition model updateinformation 170. For example, the image recognition model updateinformation 170 may include second data 172 (e.g., data associated witha second set of faces or data associated with a second set of objects).In a particular embodiment, the image recognition model update request132 received by the server 134 may include information that identifiesimage recognition model information that is stored in the memory 106 ofthe electronic device 102. For example, individual identifiers may beassociated with each of the faces and/or objects that is stored in thememory 106 of the electronic device 102 as the image data 120. Theserver 134 may determine model update(s) based at least in part on theidentifiers received from the electronic device 102. As an example, thefacial recognition update module 142 may query the image database 152 toidentify data associated with face(s) that are not stored in the memory106 of the electronic device 102 (to be provided as part of the imagerecognition model update information 170). The additional facial dataprovided to the electronic device 102 may improve a likelihood ofsuccess of a facial recognition operation that is performed at theelectronic device 102. As another example, the object recognition updatemodule 144 may query the image database 152 to identify data associatedwith object(s) that are not stored in the memory 106 of the electronicdevice 102 (to be provided as part of the image recognition model updateinformation 170). The additional object data provided to the electronicdevice 102 may improve a likelihood of success of an object recognitionoperation that is performed at the electronic device 102.

The electronic device 102 is further configured to receive the imagerecognition model update information 170 from the server 134 (via thenetwork interface 110) and to store the image recognition model updateinformation 170 in the memory 106 as the second data 172. In some cases,the electronic device 102 may be configured to discard image dataassociated with one or more faces and/or one or more objects (e.g., atleast a portion of the first data 122) stored in the memory 106 inresponse to receiving the second data 172. The electronic device 102 isfurther configured to update at least one image recognition model (e.g.,the first facial recognition model 116, the first object recognitionmodel 118, or a combination thereof) based on the image recognitionmodel update information 170 to generate a second image recognitionmodel. For example, FIG. 1 illustrates that the updated imagerecognition models may include a second facial recognition model 180and/or a second object recognition model 182.

The electronic device 102 is configured to perform a second imagerecognition operation (or to repeat the first image recognitionoperation or to perform further processing with respect to the firstimage recognition operation) based on the second image recognitionmodel. For example, in the case of facial recognition, the electronicdevice 102 may perform a second facial recognition operation based onthe second facial recognition model 180. As another example, in the caseof object recognition, the electronic device 102 may perform a secondobject recognition operation based on the second object recognitionmodel 182. In some cases, the second image recognition operation may beperformed on the image data 112 captured by the camera 108 (that may bestored in the memory 106 prior to the electronic device 102 sending theimage recognition model update request 132 to the server 134). In othercases, the second image recognition operation may be performed on secondimage data (not shown in FIG. 1) that is captured by the camera 108(e.g., after the second image recognition model has been generated).

In operation, the camera 108 of the electronic device 102 may capture animage of a scene 184 (associated with a first location) and may provideinformation associated with the captured image to one or more of theimage recognition models 114 as the image data 112. For illustrativepurposes only, the scene 184 of FIG. 1 includes a first face 186, asecond face 188, a first object 190, and a second object 192. Inalternative embodiments, information associated with an alternativenumber of faces and/or objects may be captured by the camera 108 andprovided as the image data 112.

As an example of facial recognition, the first facial recognition model116 may identify the first face 186 in the image data 112 based on dataassociated with the first face 186. For example, when the first facialrecognition model 116 determines that a particular portion of the imageassociated with the first face 186 includes data that is indicative of ahuman face being present, the first facial recognition model 116 maygenerate a result (e.g., a confidence value) by comparing the dataassociated with the first face 186 to the first data 122 (e.g., a firstset of faces) that is stored in the memory 106. To illustrate, theconfidence value may include a matching score that is calculated basedon a similarity between various identifying facial parameters (e.g., askin tone, an eye color, or facial dimensions, among otheralternatives). The first facial recognition model 116 may determinewhether the confidence value satisfies a particular confidence threshold130. For example, the confidence threshold 130 may represent a thresholdconfidence value for the first face 186 to be considered a match to aparticular face of the first set of faces (of the first data 122). Inthe example of FIG. 1, the first facial recognition model 116 maydetermine that the first face 186 satisfies the confidence threshold130, representing a facial match fora particular face of the first setof faces (of the first data 122). That is, the first face 186 mayrepresent a face that is recognized based on the first facialrecognition model 116 and based on the first data 122 stored in thememory 106.

As another example of facial recognition, the first facial recognitionmodel 116 may identify the second face 188 in the image data 112 basedon data associated with the second face 188. For example, when the firstfacial recognition model 116 determines that a particular portion of theimage associated with the second face 188 includes data that isindicative of a human face being present, the first facial recognitionmodel 116 may generate a result (e.g., a confidence value) by comparingthe data associated with the second face 188 to the first data 122(e.g., the first set of faces). The first facial recognition model 116may determine whether the confidence value satisfies the confidencethreshold 130. For example, the confidence threshold 130 may represent athreshold confidence value for the second face 188 to be considered amatch to a particular face of the first set of faces (of the first data122). In the example of FIG. 1, the first facial recognition model 116may determine that the second face 188 fails to satisfy the confidencethreshold 130. That is, the second face 188 may represent a face that isnot recognized based on the first facial recognition model 116 and basedon the first data 122 stored in the memory 106. FIG. 1 illustrates thatthe electronic device 102 may send the image recognition model updaterequest 132 to the server 134 in response to determining that the resultof the image recognition operation performed on the second face 188(using the first facial recognition model 116) fails to satisfy theconfidence threshold 130. In the particular embodiment illustrated inFIG. 1 (as identified by dashed lines), the electronic device 102 mayalso send at least a portion of the image data 112 captured by thecamera 108 (e.g., data associated with the second face 118) to theserver 134. Further, in some cases (as identified by dashed lines), theelectronic device 102 may send location data 194 (e.g., GPS coordinatesor other location identification information) to the server 134. Whilenot shown in FIG. 1, the permission module 146 of the server 134 maygenerate a user interface to be communicated to the electronic device102 via the network 136. The user interface may allow a user of theelectronic device 102 to authorize use of location data for imagerecognition operations.

In response to receiving the image recognition model update request 132,the facial recognition model update module 142 of the server 134 maydetermine the image recognition model update information 170 to beprovided to the electronic device 102. To illustrate, the facialrecognition model update module 142 may access at least the imagedatabase 152 to determine the image recognition model update information170. In some cases, the facial recognition model update module 142 mayaccess the location database 154 (e.g., when the electronic device 102sends the location data 194) and determine the image recognition modelupdate information 170 based at least in part on the location data 194.Further, in some cases, the facial recognition update module 142 maydetermine the image recognition model update information 170 based atleast in part on the image data 112 received from the electronic device102 (e.g., data associated with the second face 188 that is notrecognized based on the first image recognition operation).

As an illustrative, non-limiting example, the server 134 may determinethe image recognition model update information 170 (e.g., facial data)to be provided to the electronic device 102 based on a particularcontext. The particular context may be determined based on the imagedata 112, the location data 194, or a combination thereof. Toillustrate, the server 134 may utilize the location data 194 toidentify, for a particular user associated with the electronic device102, a particular set of faces that may be associated with a particularlocation. As an example, when the user is located at a first location(e.g., at work), a first set of faces may represent commonly encounteredimages (e.g., faces of co-workers) and may represent image data that isappropriate for local storage at the memory 106 of the electronic device102 for use in performing facial recognition operation(s) at the firstlocation. As an illustrative, non-limiting example, the server 134 maydetermine particular faces associated with the first location based onimages posted to social networking sites (e.g., after a user has“checked in” at the first location) or images that are communicated viaa messaging service when the user is located at the first location(e.g., as determined based on GPS coordinates). Alternatively, a usermay provide information to the server 134 that identifies particularfaces that are commonly encountered at the first location. As anotherexample, when the user is located at a second location (e.g., at home),a second set of faces may represent commonly encountered images (e.g.,faces of friends and/or family members) and may represent image datathat is appropriate for local storage at the memory 106 of theelectronic device 102 for use in performing facial recognitionoperation(s) at the second location. As an illustrative, non-limitingexample, the server 134 may determine particular faces associated withthe second location based on images posted to social networking sites(e.g., after a user has “checked in” at the second location) or imagesthat are communicated via a messaging service when the user is locatedat the second location (e.g., as determined based on GPS coordinates).Alternatively, a user may provide information to the server 134 thatidentifies particular faces that are commonly encountered at the secondlocation. Thus, the image recognition model update information 170identified by the server 134 may improve a likelihood of success of afacial recognition operation that is performed at the electronic device102.

The electronic device 102 may receive the image recognition model updateinformation 170 from the server 134 (via the network interface 110) andmay store the image recognition model update information 170 in thememory 106 (e.g., as the second data 172). In this example, the seconddata 172 may include a second set of faces to be used when performingfacial recognition operations. As memory resources at the electronicdevice 102 may be limited, the image data 120 stored in the memory 106may be updated based on the image recognition model update information170. For example, the electronic device 102 may determine that dataassociated with one or more faces of the first set of faces is to bediscarded, because data associated with particular faces may not becontextually relevant for certain image recognition operations. Theelectronic device 102 may generate the second facial recognition model180 based on the image recognition model update information 170.

As an example of object recognition, the first object recognition model118 may identify the first object 190 (e.g., a building) in the imagedata 112 based on data associated with the first object 190. Forexample, when the first object recognition model 118 determines that aparticular portion of the image associated with the first object 190includes data that is indicative of an object being present, the firstobject recognition model 116 may generate a result (e.g., a confidencevalue) by comparing the data associated with the first object 190 to thefirst data 122 (e.g., a first set of objects) that is stored in thememory 106. To illustrate, the confidence value may include a matchingscore that is calculated based on a similarity between variousidentifying object parameters (e.g., object dimensions, an object color,or an object shape, among other alternatives). The first objectrecognition model 118 may determine whether the confidence valuesatisfies a particular confidence threshold 130. For example, theconfidence threshold 130 may represent a threshold confidence value forthe first object 190 to be considered a match to a particular object ofthe first set of objects (of the first data 122).

As another example of object recognition, the first object recognitionmodel 118 may identify the second object 192 (e.g., a device) in theimage data 112 based on data associated with the second object 192. Forexample, when the first object recognition model 118 determines that aparticular portion of the image associated with the second object 192includes data that is indicative of an object being present, the firstobject recognition model 116 may generate a result (e.g., a confidencevalue) by comparing the data associated with the second object 192 tothe first data 122 (e.g., a first set of objects) that is stored in thememory 106. To illustrate, the confidence value may include a matchingscore that is calculated based on a similarity between variousidentifying object parameters (e.g., object dimensions, an object color,or an object shape, among other alternatives). The first objectrecognition model 118 may determine whether the confidence valuesatisfies a particular confidence threshold 130. For example, theconfidence threshold 130 may represent a threshold confidence value forthe second object 192 to be considered a match to a particular object ofthe first set of objects (of the first data 122).

FIG. 1 illustrates that the electronic device 102 may send the imagerecognition model update request 132 to the server 134 in response todetermining that the result of the image recognition operation performedon the first object 190 or the second object 192 (using the first objectrecognition model 118) fails to satisfy the confidence threshold 130. Inresponse to receiving the image recognition model update request 132,the object recognition model update module 144 of the server 134 maydetermine the image recognition model update information 170 to beprovided to the electronic device 102. To illustrate, the objectrecognition model update module 144 may access at least the imagedatabase 152 to determine the image recognition model update information170.

As an illustrative, non-limiting example, the server 134 may determinethe image recognition model update information 170 (e.g., object data)to be provided to the electronic device 102 based on a particularcontext. The particular context may be determined based on the imagedata 112, the location data 194, or a combination thereof. Toillustrate, the server 134 may utilize the location data 194 toidentify, for a particular user associated with the electronic device102, a particular set of objects that may be associated with aparticular location. As an example, when the user is located at a firstlocation (e.g., at work), a first set of objects may represent commonlyencountered images (e.g., objects at work) and may represent image datathat is appropriate for local storage at the memory 106 of theelectronic device 102 for use in performing object recognitionoperation(s) at the first location. As another example, when the user islocated at a second location (e.g., at home), a second set of objectsmay represent commonly encountered images (e.g., objects at home) andmay represent image data that is appropriate for local storage at thememory 106 of the electronic device 102 for use in performing objectrecognition operation(s) at the second location. Thus, the imagerecognition model update information 170 identified by the server 134may improve a likelihood of success of an object recognition operationthat is performed at the electronic device 102.

The electronic device 102 may receive the image recognition model updateinformation 170 from the server 134 (via the network interface 110) andmay store at least a portion of the image recognition model updateinformation 170 in the memory 106 (e.g., as the second data 172). Inthis example, the second data 172 may include a second set of objects tobe used when performing object recognition operations. As memoryresources at the electronic device 102 may be limited, the image data120 stored in the memory 106 may be updated based on the imagerecognition model update information 170. For example, the electronicdevice 102 may determine that data associated with one or more objectsof the first set of objects is to be discarded, as data associated withparticular objects may not be contextually relevant for imagerecognition operations. The electronic device 102 may generate thesecond object recognition model 182 based on the image recognition modelupdate information 170.

Thus, FIG. 1 illustrates that the electronic device 102 may perform afirst image recognition operation on the image data 112 to generate aresult (e.g., a confidence value). For example, the electronic device102 may determine whether the confidence value associated with aparticular face and/or a particular object that is identified based onthe image data 112 satisfies a particular confidence threshold 130. Whenthe confidence threshold 130 is not satisfied, the electronic device 102may send the image recognition model update request 132 to the server134, and the server 134 may respond by providing the image recognitionmodel update information 170 (that includes the second data 172, such asa second set of faces and/or objects). The electronic device 102 maygenerate a second image recognition model based on image recognitionmodel update information 170 in order to perform a second imagerecognition operation (e.g., to identify a face and/or an object thatwas not recognized based on the first image recognition operation).

Referring to FIG. 2, another embodiment of an image recognition systemis illustrated and generally designated 200. FIG. 2 illustrates aparticular example in which the electronic device 102 may send a facialrecognition model update request to a server based on a result of afirst facial recognition operation that is performed at the electronicdevice. For example, the electronic device 102 may identify face(s) in aparticular image, but a confidence value associated with the identifiedface(s) may not satisfy a confidence threshold associated with arecognized face. The server may provide information that may be used bythe electronic device 102 to generate an updated facial recognitionmodel.

In the particular embodiment illustrated in FIG. 2, the camera 108 ofthe electronic device 102 may capture an image of a scene 284(associated with a second location) and provide information associatedwith the captured image (as image data 212) to a first facialrecognition model 216 that is stored in the memory 206 of the electronicdevice 102. For illustrative purposes only, the scene 284 of FIG. 2includes a third face 286 and a fourth face 288. In alternativeembodiments, information associated with an alternative number of facesand/or objects may be captured by the camera 108 and provided as theimage data 212. The electronic device 102 performs a first facialrecognition operation on the image data 212 based on the first facialrecognition model 216 and based on image data 220 that is stored in thememory 106. FIG. 2 illustrates a particular example in which the imagedata 220 may include first data associated with a first set of faces(e.g., data 222 associated with a first face and data 224 associatedwith a second face).

As an example, the first facial recognition model 216 may identify thethird face 286 in the image data 212 based on data associated with thethird face 286. In some cases, the first facial recognition model 216may determine a confidence value by comparing the data associated withthe third face 286 to the first set of faces (e.g., the first face 222and the second face 224). The first facial recognition model 216 maydetermine whether the confidence value satisfies a particular confidencethreshold 230. In the example of FIG. 2, the first facial recognitionmodel 216 may determine that the third face 286 fails to satisfy theconfidence threshold 230. That is, the second face 286 may represent aface that is not recognized based on the first facial recognition model216 and based on the first facial data that is stored in the memory 106.

As another example, the first facial recognition model 216 may identifythe fourth face 288 in the image data 212 based on data associated withthe fourth face 288. For example, the first facial recognition model 216may determine a confidence value by comparing the data associated withthe fourth face 288 to the first set of faces (e.g., the first face 222and the second face 224). The first facial recognition model 216 maydetermine whether the confidence value satisfies a particular confidencethreshold 230. In the example of FIG. 2, the first facial recognitionmodel 216 may determine that the fourth face 288 fails to satisfy theconfidence threshold 230. That is, the fourth face 288 may represent aface that is not recognized based on the first facial recognition model216 and based on the first facial data that is stored in the memory 106.

FIG. 2 illustrates that the electronic device 102 may send a facialrecognition model update request 232 to the server 134 in response todetermining that the result (e.g., the confidence value) of the imagerecognition operation performed on the third face 286 and the fourthface 288 (using the first facial recognition model 216) fails to satisfythe confidence threshold 230. In the particular embodiment illustratedin FIG. 2, the electronic device 102 may also send location data 294(e.g., GPS coordinates or other location identification information) tothe server 134.

In response to receiving the facial recognition model update request232, the facial recognition model update module 142 of the server 134may determine facial recognition model update information 270 to beprovided to the electronic device 102. To illustrate, the facialrecognition model update module 142 may access at least the imagedatabase 152 to determine the facial recognition model updateinformation 270. In some cases, the facial recognition model updatemodule 142 may access the location database 154 (e.g., when theelectronic device 102 sends the location data 294) and determine thefacial recognition model update information 270 based at least in parton the location data 294. In the example of FIG. 2, the image database152 stores facial data 260 associated with a plurality of faces. Toillustrate, the facial data 260 may include first facial data 222,second facial data 224, third facial data 262, and fourth facial data264. In alternative embodiments, the facial data 160 may include dataassociated with an alternative number of faces.

As an illustrative, non-limiting example, the server 134 may determinethe facial recognition model update information 270 (e.g., second facialdata) to be provided to the electronic device 102 based on a particularcontext. FIG. 2 illustrates a particular embodiment in which theparticular context may be determined based on the location data 294. Toillustrate, the server 134 may utilize the location data 294 toidentify, for a particular user associated with the electronic device102, a particular set of faces that may be associated with a particularlocation (e.g., the second location in FIG. 2). As an example, when thesecond location is associated with an office, the second facial data(e.g., the data 262 associated with the third face and the data 264associated with the fourth face) may represent commonly encounteredimages (e.g., faces of co-workers) and may represent image data that isappropriate for local storage at the memory 106 of the electronic device102 for use in performing facial recognition operation(s) at the secondlocation. As another example, when the second location is associatedwith a residence, the second facial data (e.g., the data 262 associatedwith the third face and the data 264 associated with the fourth face)may represent commonly encountered images (e.g., faces of friends and/orfamily members) and may represent image data that is appropriate forlocal storage at the memory 106 of the electronic device 102 for use inperforming facial recognition operation(s) at the second location. Thus,the facial recognition model update information 270 identified by theserver 134 may improve a likelihood of success of a facial recognitionoperation that is performed at the electronic device 102 (at the secondlocation).

The electronic device 102 may receive the facial recognition modelupdate information 270 from the server 134 (via the network interface110) and may store the facial recognition model update information 270in the memory 106 (e.g., the third facial data 262 and the fourth facialdata 264). As memory resources at the electronic device 102 may belimited, the image data 220 stored in the memory 106 may be updatedbased on the facial recognition model update information 270. Forexample, the electronic device 102 may determine that data associatedwith one or more faces of the first set of faces is to be discarded, asdata associated with particular faces may not be contextually relevantfor image recognition operations at the second location. The electronicdevice 102 may update the first facial recognition model 216 based onthe facial recognition model update information 270 to generate a secondimage recognition model 280.

The electronic device 102 may perform a second facial recognitionoperation based on the second facial recognition model 280. For example,the second image recognition operation may be performed on the imagedata 212 captured by the camera 108 (that may be stored in the memory106 prior to the electronic device 102 sending the facial recognitionmodel update request 232 to the server 134). In other cases, the secondimage recognition operation may be performed on second image data (notshown in FIG. 2) that is captured by the camera 108 (e.g., after thesecond image recognition model has been generated).

Thus, FIG. 2 illustrates that the electronic device 102 may perform afirst facial recognition operation on the image data 212 to generateresults (e.g., confidence values). For example, the electronic device102 may determine whether the confidence value associated with aparticular face that is identified based on image data satisfies aparticular confidence threshold 230. When the confidence threshold 230is not satisfied, the electronic device 102 may send the facialrecognition model update request 232 to the server 134, and the server134 may provide the facial recognition model update information 270. Theelectronic device 102 may generate a second facial recognition modelbased on the facial recognition model update information 270 in order toperform a second facial recognition operation (e.g., to identify a facethat was not recognized based on the first facial recognitionoperation).

Referring to FIG. 3, another embodiment of an image recognition systemis illustrated and generally designated 300. FIG. 3 illustrates aparticular example in which the electronic device 102 may send an objectrecognition model update request to a server based on a result of afirst object recognition operation that is performed at the electronicdevice 102. For example, the electronic device 102 may identifyobject(s) in a particular image, but a confidence value associated withthe identified object(s) may not satisfy a confidence thresholdassociated with a recognized object. The server may provide informationthat may be used by the electronic device 102 to generate an updatedobject recognition model.

In the particular embodiment illustrated in FIG. 3, the camera 108 ofthe electronic device 102 may capture an image of a scene 384(associated with a third location) and may provide informationassociated with the captured image (as image data 312) to a first objectrecognition model 318 that is stored in the memory 106 of the electronicdevice 102. For illustrative purposes only, the scene 384 of FIG. 3includes a first object 386, a second object 388, and a third object390. In alternative embodiments, information associated with analternative number of faces and/or objects may be captured by the camera108 and provided as the image data 312. The electronic device 102performs a first object recognition operation on the image data 312based on the first object recognition model 318 and based on image data320 that is stored in the memory 106. FIG. 3 illustrates a particularexample in which the image data 320 may include first data associatedwith a first set of objects (e.g., data 322 associated with a firstobject and data 324 associated with a second object).

As an example, the first object recognition model 318 may identify thefirst object 386, the second object 388, and the third object 390 in theimage data 312. In some cases, the first object recognition model 318may determine confidence values by comparing the data associated withthe identified objects 386, 388 and 390 to the first set of objects(e.g., the first object data 322 and the second object data 324). Thefirst object recognition model 318 may determine whether the individualconfidence values satisfy a particular confidence threshold 330. In theexample of FIG. 3, the first object recognition model 318 may determinethat the third object 390 fails to satisfy the confidence threshold 330.That is, the third object 390 may represent an object that is notrecognized based on the first object recognition model 318 and based onthe first object data that is stored in the memory 106.

FIG. 3 illustrates that the electronic device 102 may send an objectrecognition model update request 332 to the server 134 in response todetermining that the result of the image recognition operation performedon the third object 390 fails to satisfy the confidence threshold 330.In the particular embodiment illustrated in FIG. 3, the electronicdevice 102 may also send the image data 312 and location data 394 (e.g.,GPS coordinates or other location identification information) to theserver 134.

In response to receiving the object recognition model update request332, the object recognition model update module 144 of the server 134may determine object recognition model update information 370 to beprovided to the electronic device 102. To illustrate, the objectrecognition model update module 144 may access at least the imagedatabase 152 to determine the object recognition model updateinformation 370. In some cases, the object recognition model updatemodule 144 may access the location database 154 (e.g., when theelectronic device 102 sends the location data 394) and determine theobject recognition model update information 370 based at least in parton the location data 394. In the example of FIG. 3, the image database152 stores object data 360 associated with a plurality of objects. Toillustrate, the object data 360 may include the first object data 322,the second object data 324, and third object data 362. In alternativeembodiments, the object data 360 may include data associated with analternative number of objects.

As an illustrative, non-limiting example, the server 134 may determinethe object recognition model update information 370 (e.g., dataassociated with a second set of objects) to be provided to theelectronic device 102 based on a particular context. FIG. 3 illustratesa particular embodiment in which the particular context may bedetermined based on the image data 312 and based on the location data394. To illustrate, the server 134 may utilize the image data 312 toquery the image database 152 for additional object information and mayutilize the location data 394 to identify, for a particular userassociated with the electronic device 102, a particular set of objectsthat may be associated with a particular location (e.g., the thirdlocation in FIG. 3). As an example, when the third location isassociated with an office, the second object data (e.g., the data 362associated with the third object) may represent a commonly encounteredimage (e.g., an object at work) and may represent image data that isappropriate for local storage at the memory 106 of the electronic device102 for use in performing object recognition operation(s) at the thirdlocation. As another example, when the third location is associated witha residence, the second object data (e.g., the data 362 associated withthe third object) may represent a commonly encountered image (e.g., anobject at home) and may represent image data that is appropriate forlocal storage at the memory 106 of the electronic device 102 for use inperforming object recognition operation(s) at the third location. Thus,the object recognition model update information 370 identified by theserver 134 may improve a likelihood of success of an object recognitionoperation that is performed at the electronic device 102 (at the thirdlocation).

The electronic device 102 may receive the object recognition modelupdate information 370 from the server 134 (via the network interface110) and may store the object recognition model update information 370in the memory 106 (e.g., the third object data 362). As memory resourcesat the electronic device 102 may be limited, the image data 320 storedin the memory 106 may be updated based on the object recognition modelupdate information 370. For example, the electronic device 102 maydetermine that data associated with one or more objects of the first setof objects is to be discarded, as data associated with particularobjects may not be contextually relevant for image recognitionoperations at the third location. The electronic device 102 may updatethe first object recognition model 318 based on the object recognitionmodel update information 370 to generate a second object recognitionmodel 382.

The electronic device 102 may perform a second object recognitionoperation based on the second object recognition model 382. For example,the second object recognition operation may be performed on the imagedata 312 captured by the camera 108 (that may be stored in the memory106 prior to the electronic device 102 sending the object recognitionmodel update request 332 to the server 134). In other cases, the secondimage recognition operation may be performed on second image data (notshown in FIG. 3) that is captured by the camera 108 (e.g., after thesecond object recognition model 382 has been generated).

Thus, FIG. 3 illustrates that the electronic device 102 may perform afirst object recognition operation on the image data 312 to generateresults (e.g., confidence values). For example, the electronic device102 may determine whether the confidence value associated with aparticular object that is identified based on image data satisfies aparticular confidence threshold 330. When the confidence threshold 330is not satisfied, the electronic device 102 may send the objectrecognition model update request 332 to the server 134, and the server134 may provide the object recognition model update information 370. Theelectronic device 102 may generate a second object recognition modelbased on the object recognition model update information 370 in order toperform a second object recognition operation (e.g., to identify anobject that was not recognized based on the first facial recognitionoperation).

Referring to FIG. 4, another embodiment of an image recognition systemis illustrated and generally designated 400. FIG. 4 illustrates aparticular example in which the electronic device 102 may send an objectrecognition model update request to a server based on a result of afirst object recognition operation that is performed at the electronicdevice 102. For example, the electronic device 102 may be able torecognize generic features of particular objects (e.g., a color of anautomobile) but may not be able to recognize more detailed features ofthe particular objects (e.g., a make/model of the particularautomobile). The server may provide information that may be used by theelectronic device 102 to generate an updated object recognition model.

In the particular embodiment illustrated in FIG. 4, the camera 108 ofthe electronic device 102 may capture an image of a scene 484(associated with an automobile dealer location) and may provideinformation associated with the captured image as first image data 412to a first object recognition model 418 that is stored in the memory 106of the electronic device 102. For illustrative purposes only, the scene484 of FIG. 4 includes a first object 486, a second object 488, and athird object 490. In alternative embodiments, the scene 484 may includean alternative number of objects and/or faces. The electronic device 102performs a first object recognition operation on the first image data412 based on the first object recognition model 418 and based on imagedata 420 that is stored in the memory 106. FIG. 4 illustrates aparticular example in which the image data 420 may include first dataassociated with a first set of objects (e.g., first object data 422,second object data 424, and third object data 426).

As an example, the first object recognition model 418 may identify thefirst object 486 as a first type of automobile (e.g., a red car), mayidentify the second object 488 as a second type of automobile (e.g., ablue car), and may identify the third object 490 as a third type ofautomobile (e.g., a white car) in the first image data 412 based on theimage data 420 stored in the memory 106. For example, the first objectrecognition model 418 may generate results (e.g., individual confidencevalues) by comparing the data associated with the objects 486, 488, and490 to a first set of objects (e.g., the first object data 422, thesecond object data 424, and the third object data 426). The first objectrecognition model 418 may determine whether the individual confidencevalues satisfy a particular confidence threshold 430. In the example ofFIG. 4, the first object recognition model 418 may determine that theobjects 486, 488, and 490 may be generically identified as automobileshaving particular colors. However, the first object recognition model418 may determine that the confidence values associated with the objects486, 488, and 490 fail to satisfy the confidence threshold 430 (that mayrepresent a threshold confidence value for a particular object torepresent a match to a particular make and/or model of automobile).

FIG. 4 illustrates that the electronic device 102 may send an objectrecognition model update request 432 to the server 134 in response todetermining that the result (e.g., the confidence value) of the imagerecognition operation performed on the first image data 412 fails tosatisfy the confidence threshold 430. In the particular embodimentillustrated in FIG. 4, the electronic device 102 may also send the firstimage data 412 and location data 494 (e.g., GPS coordinates or otherlocation identification information) to the server 134.

In response to receiving the object recognition model update request432, the object recognition model update module 144 of the server 134may determine object recognition model update information 470 to beprovided to the electronic device 102. To illustrate, the objectrecognition model update module 144 may access at least the imagedatabase 152 to determine the object recognition model updateinformation 470. In the example of FIG. 4, the object recognition modelupdate module 144 may access the location database 154 and determine theobject recognition model update information 470 based at least in parton the location data 494. In the example of FIG. 4, the image database152 stores object data 460 associated with a plurality of objects. Toillustrate, the object data 460 may include the first object data 462,second object data 464, and third object data 466. In alternativeembodiments, the object data 460 may include an alternative number ofobjects.

The electronic device 102 may receive the object recognition modelupdate information 470 from the server 134 (via the network interface110) and may store at least a portion of the object recognition modelupdate information 470 in the memory 106. The electronic device 102 mayupdate the first object recognition model 418 based on the objectrecognition model update information 470 to generate a second objectrecognition model 482. The electronic device 102 may perform a secondobject recognition operation based on the second object recognitionmodel 482. In the particular embodiment illustrated in FIG. 4, thecamera 108 may capture information associated with the scene 484 andprovide the information as second image data 498 to the second objectrecognition model 482. The second object recognition operation may beperformed on the second image data 498 captured by the camera 108.

Thus, FIG. 4 illustrates a particular example in which the electronicdevice 102 may send an object recognition model update request to aserver based on a result (e.g., a confidence value) of a first objectrecognition operation that is performed at the electronic device 102.For example, the electronic device 102 may be able to recognize genericfeatures of particular objects (e.g., a color of an automobile) but maynot be able to recognize more detailed features of the particularobjects (e.g., a make/model of the particular automobile). The servermay provide information that may be used by the electronic device 102 togenerate an updated object recognition model.

Referring to FIG. 5, another embodiment of an image recognition systemis illustrated and generally designated 500. FIG. 5 illustrates aparticular example in which the electronic device 102 may send an objectrecognition model update request to a server based on a result (e.g., aconfidence value) of a first object recognition operation that isperformed at the electronic device 102. For example, the electronicdevice 102 may capture information associated with an object based onfirst image capture parameters, and the server may provide image captureinstructions such that the electronic device 102 may capture additionalinformation for use by the server. The server may provide informationthat may be used by the electronic device 102 to generate an updatedobject recognition model.

In the particular embodiment illustrated in FIG. 5, the camera 108 ofthe electronic device 102 may capture an image of a first scene 584 andmay provide information associated with the captured image as firstimage data 512 to a first object recognition model 518 that is stored inthe memory 106 of the electronic device 102. For illustrative purposesonly, the first scene 584 of FIG. 5 includes a first object 586 (e.g., abuilding). The electronic device 102 performs a first object recognitionoperation on the first image data 512 based on the first objectrecognition model 518 and based on image data 520 that is stored in thememory 106. FIG. 5 illustrates a particular example in which the imagedata 520 may include first data associated with a first set of objects(e.g., first object data 522).

As an example, the first object recognition model 518 may identify thefirst object 586 in the first scene 584. FIG. 5 illustrates that theelectronic device 102 may send an object recognition model updaterequest 532 to the server 134 in response to determining that the result(e.g., a confidence value) of the image recognition operation performedon the first object 586 fails to satisfy a confidence threshold 530. Inthe particular embodiment illustrated in FIG. 5, the electronic device102 may also send the first image data 512 and location data 594 (e.g.,GPS coordinates or other location identification information) to theserver 134.

In response to receiving the object recognition model update request532, the object recognition model update module 144 of the server 134may determine object recognition model update information 570 to beprovided to the electronic device 102. To illustrate, the objectrecognition model update module 144 may access at least the imagedatabase 152 to determine the object recognition model updateinformation 570. In some cases, the object recognition model updatemodule 144 may access the location database 154 (e.g., when theelectronic device 102 sends the location data 594) and determine theobject recognition model update information 570 based at least in parton the location data 594. In the example of FIG. 5, the image database152 stores object data 560 associated with a plurality of objects. Toillustrate, the object data 560 may include the first object data 562and second object data 564.

The server 134 may generate image capture instructions 566 to beprovided to the electronic device 102 based on information associatedwith the first object 586 that is included in the first image data 512.The electronic device 102 may receive the object recognition modelupdate information 570 from the server 134 (via the network interface110) and may store at least a portion of the object recognition modelupdate information 570 in the memory 106. The electronic device 102 mayupdate the first object recognition model 518 based on the objectrecognition model update information 570 to generate a second objectrecognition model 582.

The electronic device 102 may perform a second object recognitionoperation based on the second object recognition model 582. In theparticular embodiment illustrated in FIG. 5, the camera 108 may captureinformation associated with a second scene 588 and provide theinformation as second image data 596 to the second object recognitionmodel 582. The second object recognition operation may be performed onthe second image data 596 captured by the camera 108. As an example, thesecond object recognition model 582 may identify the second object 590in the second scene 588.

The electronic device 102 may send the second image data 596 (includinginformation associated with the second object 590) to the server 134.The server 134 may determine location information 598 to be provided tothe electronic device 102 based on information associated with the firstobject 586 and based on information associated with the second object590. As an illustrative, non-limiting example, the server 134 mayprovide location information 598 to the electronic device 102 based onthe location of the first building with respect to the second building.Such location information may be used by the server 134 to moreaccurately determine a particular location (e.g., a city, a streetaddress, a neighborhood) and provide image data that is contextuallyrelevant for image recognition operations at the particular location.

FIG. 6 illustrates a particular embodiment of a method 600 for updatingan image recognition model based on image recognition model updateinformation received from a server responsive to a determination that aresult of a first image recognition operation fails to satisfy aconfidence threshold. In FIG. 6, an electronic device may send an imagerecognition model update request to a server and may update an imagerecognition model stored at the electronic device based on imagerecognition model update information received from the server.

The method 600 includes receiving first image data (e.g., captured usinga camera) at an electronic device, at 602. For example, referring toFIGS. 1-3, the camera 108 of the electronic device 102 may capture theimage data 112. In the example of FIG. 1, the image data 112 may includethe image of the scene 184 (e.g., at a first location) that includes thefirst face 186, the second face 188, the first object 190, and thesecond object 192. In the example of FIG. 2, the image data 112 mayinclude the image of the scene 284 (e.g., at a second location) thatincludes the third face 286 and the fourth face 288. In the example ofFIG. 3, the image data 112 may include the image of the scene 384 (e.g.,at a third location) that includes the first object 386, the secondobject 388, and the third object 390.

The method 600 includes performing a first image recognition operation(e.g., a first facial recognition operation, a first object recognitionoperation, or a combination thereof) based on a first image recognitionmodel stored in a memory of the electronic device, at 604. For example,referring to FIGS. 1-3, the electronic device 102 may perform a firstfacial recognition operation based on the first image recognition model116 stored in the memory 106. As another example, referring to FIGS.1-3, the electronic device 102 may perform a first object recognitionoperation based on the first object recognition model 118 stored in thememory 106.

The method 600 includes determining whether a result (e.g., a confidencevalue) of the first image recognition operation satisfies a confidencethreshold, at 606. For example, referring to FIG. 1, the electronicdevice 102 may determine whether a result of the first facialrecognition operation (based on the first facial recognition model 116and based on the first data 122) satisfies the confidence threshold 130.As another example, referring to FIG. 1, the electronic device 102 maydetermine whether a result of the first object recognition operation(based on the first object recognition model 118 and based on the firstdata 122) satisfies the confidence threshold 130. As a further example,referring to FIG. 2, the electronic device 102 may determine whether aresult of the first facial recognition operation (based on the firstfacial recognition model 116 and the first set of faces of the imagedata 220) satisfies the confidence threshold 230. As another example,referring to FIG. 3, the electronic device 102 may determine whether aresult of the first object recognition operation (based on the firstobject recognition model 118 and based on the first set of objects ofthe image data 320) satisfies the confidence threshold 330.

In response to determining that the result of the first imagerecognition operation satisfies the confidence threshold, the method 600ends, at 608. For example, referring to FIG. 1, the first face 186 mayrepresent a face that is recognized based on a result of performing afacial recognition operation based on the first facial recognition model116 (and based on the first set of faces of the first data 122). Asanother example, referring to FIG. 1, the first object 190 and thesecond object 192 may represent objects that are recognized based on aresult of performing an object recognition operation based on the firstobject recognition model 118 (and based on the first set of objects ofthe first data 122). In either case, the electronic device 102 mayrefrain from sending the image recognition model update request 132 tothe server 134.

In response to determining that the result of the first imagerecognition operation fails to satisfy the confidence threshold, themethod 600 includes sending an image recognition model update requestfrom the electronic device to a server, at 610. For example, referringto FIG. 1, the electronic device 102 may determine that a result of thefirst facial recognition operation (performed based on the first facialrecognition model 116 and the first set of faces of the first data 122)fails to satisfy the confidence threshold 130. In this case, theelectronic device 102 may send the image recognition model updaterequest 132 to the server 134 (via the network interface 110). Asanother example, the electronic device 102 may determine that a resultof the first object recognition operation (performed based on the firstobject recognition model 118 and the first set of objects of the firstdata 122) fails to satisfy the confidence threshold 130. In either case,the electronic device 102 may send the image recognition model updaterequest 132 to the server 134 (via the network interface 110). As afurther example, referring to FIG. 2, the electronic device 102 maydetermine that a result of the first facial recognition operation(performed based on the first facial recognition model 116 and the firstset of faces of the image data 220) fails to satisfy the confidencethreshold 230. In this case, the electronic device 102 may send thefacial recognition model update request 232 to the server 134. Asanother example, referring to FIG. 3, the electronic device 102 maydetermine that a result of the first object recognition operation(performed based on the first object recognition model 118 and the firstset of objects of the image data 320) fails to satisfy the confidencethreshold 330. In this case, the electronic device 102 may send theobject recognition model update request 332 to the server 134.

The method 600 includes receiving image recognition model updateinformation from the server, at 612. For example, referring to FIG. 1,the electronic device 102 may receive the image recognition model updateinformation 170 from the server 134. As another example, referring toFIG. 2, the electronic device 102 may receive the facial recognitionmodel update information 270 from the server 134. As a further example,referring to FIG. 3, the electronic device 102 may receive the objectrecognition model update information 370 from the server 134.

The method 600 includes updating the first image recognition model basedon the image recognition model update information to generate a secondimage recognition model, at 614. For example, referring to FIG. 1, theelectronic device 102 may update the first facial recognition model 116and/or the first object recognition model 118 based on the imagerecognition model update information 170 to generate the second facialrecognition model 180 and/or the second object recognition model 182. Asanother example, referring to FIG. 2, the electronic device 102 mayupdate the first facial recognition model 116 based on the facialrecognition model update information 270 to generate the second facialrecognition model 280. As a further example, referring to FIG. 3, theelectronic device 102 may update the first object recognition model 118based on the object recognition model update information 370 to generatethe second object recognition model 382.

The method 600 includes performing a second image recognition operation(e.g., a second facial recognition operation or a second objectrecognition operation) based on the second image recognition model, at616. For example, referring to FIG. 1, the electronic device 102 mayperform a second facial recognition operation and/or a second objectrecognition operation based on the second facial recognition model 180and/or the second object recognition model 182. As another example,referring to FIG. 2, the electronic device 102 may perform a secondfacial recognition operation based on the second facial recognitionmodel 280. As a further example, referring to FIG. 3, the electronicdevice 102 may perform a second object recognition operation based onthe second object recognition model 382.

FIG. 7 illustrates a particular embodiment of a method 700 for sendingan image recognition model update request from an electronic device to aserver and updating an image recognition model stored at the electronicdevice based on image recognition model update information received fromthe server. In FIG. 7, the electronic device may update the imagerecognition model based on the image recognition model updateinformation received from the server and may perform a second imagerecognition operation on second image data captured by a camera based onthe updated image recognition model.

The method 700 includes capturing first image data using a camera of anelectronic device, at 702. For example, referring to FIG. 4, the camera108 of the electronic device 102 may capture the first image data 112.The method 700 includes performing a first image recognition operation(e.g., a first facial recognition operation or a first objectrecognition operation) based on a first image recognition model storedin a memory of the electronic device, at 704. For example, referring toFIG. 4, the electronic device 102 may perform a first object recognitionoperation based on the first object recognition model 118 stored in thememory 106.

In the particular embodiment illustrated in FIG. 7, the method 700includes determining location data associated with the first image data,at 706. For example, referring to FIG. 4, the electronic device 102 maydetermine the location data 494 associated with the first image data112. FIG. 7 further illustrates that the method 700 may include sendingthe location data to the server, at 708. For example, referring to FIG.4, the electronic device 102 may send the location data 494 to theserver 134 (via the network interface 110).

The method 700 further includes sending an image recognition modelupdate request to the server, at 710. For example, referring to FIG. 4,the electronic device 102 may send the object recognition model updaterequest 432 to the server 134 (via the network interface 110). Themethod 700 includes receiving image recognition model update informationfrom the server, at 712. The image recognition model update informationmay be determined based at least in part on the location data. Forexample, referring to FIG. 4, the object recognition model update module144 of the server 134 may determine the object recognition model updateinformation 470 based at least in part on the location data 494 (e.g.,based on information stored in the location database 154). Theelectronic device 102 may receive the object recognition model updateinformation 470 from the server 134.

The method 700 includes updating the first image recognition model basedon the image recognition model update information to generate a secondimage recognition model, at 714. For example, referring to FIG. 4, theelectronic device 102 may update the first object recognition model 118based on the object recognition model update information 470. The method700 includes capturing second image data using the camera of theelectronic device, at 716. For example, referring to FIG. 4, the camera108 of the electronic device 102 may capture the second image data 498.The method 700 includes performing a second image recognition operationon the second image data based on the second image recognition model, at718. For example, referring to FIG. 4, the electronic device 102 mayperform a second object recognition operation on the second image data498 based on the second object recognition model 482.

FIG. 8 illustrates a particular embodiment of a method 800 for sendingan image recognition model update request from an electronic device to aserver and updating an image recognition model stored at the electronicdevice based on image recognition model update information received fromthe server. In FIG. 8, the electronic device may send first image datato the server that is captured based on first image capture parameters,and the electronic device may send second image data to the server thatis captured based on second image capture parameters. The server mayprovide location information to the electronic device based oninformation associated with an object identified in the first image dataand based on information associated with an object identified in thesecond image data.

The method 800 includes capturing first image data using a camera of anelectronic device, at 802. The camera may capture the first image databased on a first set of image capture parameters. For example, referringto FIG. 8, the camera 108 of the electronic device 102 may capture thefirst image data 112 based on a first set of image capture parameters.In the example of FIG. 8, the camera 108 may capture data associatedwith a first scene 584 that includes the first object 586 (e.g., anarrow view).

The method 800 includes performing a first image recognition operationbased on a first image recognition model stored in a memory of theelectronic device to identify a first object, at 804. The first objectmay be identified by performing a first object recognition operationbased on a first object recognition model that includes datarepresenting a first set of objects. For example, referring to FIG. 8,the electronic device 102 may perform a first object recognitionoperation based on the first object recognition model 118 stored in thememory 106 to identify the first object 586. In the example of FIG. 8,the first object 586 may be identified by performing the first objectrecognition operation based on the image data 520 that includes datarepresenting a first set of objects (e.g., the first object data 522).

The method 800 includes sending the first image data and an imagerecognition model update request to the server, at 806. The first imagedata may include information associated with the first object. Forexample, referring to FIG. 5, the electronic device 102 may send thefirst image data 112 and the object recognition model update request 532to the server 134 (via the network interface 110). The first image data112 may be associated with the first object 586.

The method 800 includes receiving image recognition model updateinformation, at 808. For example, referring to FIG. 5, the electronicdevice 102 may receive the object recognition model update information570 (that includes the second object data 572). The method 800 includesupdating the first image recognition model based on the imagerecognition model update information to generate a second imagerecognition model, at 810. For example, referring to FIG. 5, theelectronic device 102 may update the first object recognition model 118based on the object recognition model update information 570 to generatethe second object recognition model 582.

The method 800 includes capturing second image data using the camera, at812. The second image data may be captured based on a second set ofimage capture parameters. For example, referring to FIG. 5, the camera108 of the electronic device 102 may capture the second image data 596based on a second set of image capture parameters. In the example ofFIG. 8, the camera 108 may capture data associated with a second scene588 that includes the second object 590 (e.g., a wide view). The secondset of image capture parameters may be determined based on the imagecapture instructions 566 received from the server 134.

The method 800 includes performing a second image recognition operation(based on the second image recognition model) to identify a secondobject, at 814. For example, referring to FIG. 5, the electronic device102 may perform a second object recognition operation (based on thesecond object recognition model 582) to identify the second object 590.In the particular embodiment illustrated in FIG. 8, the method 800includes sending the second image data (including information associatedwith the second object) to the server, at 816. For example, referring toFIG. 5, the electronic device 102 may send the second image data 596 tothe server 134.

FIG. 8 further illustrates that the method 800 may include receivinglocation information from the server, at 818. The location informationmay be determined based on the information associated with the firstobject and based on the information associated with the second object.For example, referring to FIG. 5, the server 134 may determine thelocation information 598 based on the information associated with thefirst object 586 and based on the information associated with the secondobject 590. To illustrate, the server 134 may query the locationdatabase 154 to determine the location information 598.

Referring to FIG. 9, an illustrative embodiment of a general computersystem is shown and is designated 900. The computer system 900 includesa set of instructions that can be executed to cause the computer system900 to perform any one or more of the methods or computer-basedfunctions disclosed herein. The computer system 900 may operate as astandalone device or may be connected, e.g., using a network, to othercomputer systems or peripheral devices. For example, the computer system900 may include or be included within any one or more of the electronicdevice 102, the server(s) 134, or combinations thereof described withreference to FIGS. 1-5.

In a networked deployment, the computer system 900 may operate in thecapacity of a server or as a client user computer in a server-clientuser network environment, or as a peer computer system in a peer-to-peer(or distributed) network environment. The computer system 900 may alsobe implemented as or incorporated into various devices, such as a mobiledevice, a palmtop computer, a laptop computer, a desktop computer, acommunications device, a wireless telephone, a personal computer (PC), atablet PC, a personal digital assistant (PDA), an endpoint device, a webappliance, or any other machine capable of executing a set ofinstructions (sequential or otherwise) that specify actions to be takenby that machine. In a particular embodiment, the computer system 900 maybe implemented using electronic devices that provide video, audio, ordata communication. Further, while a single computer system 900 isillustrated, the term “system” shall also be taken to include anycollection of systems or sub-systems that individually or jointlyexecute a set, or multiple sets, of instructions to perform one or morecomputer functions.

As illustrated in FIG. 9, the computer system 900 may include aprocessor 902, e.g., a central processing unit (CPU), a graphicsprocessing unit (GPU), or both. For example, the processor 902 mayinclude or correspond to the processor 104 illustrated in FIGS. 1-5. Asanother example, when the computer system 900 corresponds to a server,the processor 902 may include or correspond to the processor(s) 138 ofthe server(s) 134 illustrated in FIGS. 1-5. Moreover, the computersystem 900 may include a main memory 904 and a static memory 906, whichcan communicate with each other via a bus 908. For example, the mainmemory 904 may include or correspond to the memory 106 of the electronicdevice 102 illustrated in FIGS. 1-5. As another example, when thecomputer system 900 corresponds to a server, main memory 904 may includeor correspond to the memory 140 of the server(s) 134 illustrated inFIGS. 1-5. As shown, the computer system 900 may further include a videodisplay unit 910, such as a liquid crystal display (LCD), a lightemitting diode (LED) display, a touch screen display, a flat paneldisplay, or a solid-state display. Additionally, the computer system 900may include an input device 912, such as a remote-control device or akeyboard, and a cursor control device 914, such as a mouse. In someembodiments, the input device 912 and the cursor control device 914 maybe integrated into a single device, such as a capacitive touch screeninput device. The computer system 900 may also include a signalgeneration device 918, such as a speaker, and a network interface device920. Some computer systems 900 may not include an input device (e.g., aserver may not include an input device). To illustrate, when thecomputer system 900 corresponds to the server(s) 134 illustrated inFIGS. 1-5, the computer system 900 not include an input device.

In a particular embodiment, as depicted in FIG. 9, the device 900 mayinclude computer-readable storage 922 in which one or more sets ofinstructions 924, e.g., software, can be embedded. The computer-readablestorage 922 may be random access memory (RAM), read-only memory (ROM),programmable read-only memory (PROM), erasable PROM (EPROM),electrically erasable PROM (EEPROM), register(s), solid-state memory,hard disk, a removable disk, a compact disc read-only memory (CD-ROM),other optical disk storage, magnetic disk storage, magnetic storagedevices, or any other storage device that can be used to store programcode in the form of instructions or data and that can be accessed by acomputer and/or a processor. Computer-readable storage is not a signal.Further, the instructions 924 may embody one or more of the methods orlogic as described herein. When the device 900 corresponds to anelectronic device, FIG. 9 illustrates that the instructions 924 mayinclude one or more facial recognition models 926 and/or one or moreobject recognition models 928. The instructions 924 may be executable bythe processor 902 to perform one or more functions or methods describedherein, such as the methods 600, 700, or 800 described with reference toFIG. 6, 7, or 8, respectively. In a particular embodiment, theinstructions 924 may reside completely, or at least partially, withinthe main memory 904, the static memory 906, and/or within the processor902 during execution by the computer system 900. The main memory 904 andthe processor 902 also may include a computer-readable storage device.

FIG. 9 illustrates a particular embodiment in which the computer system900 may correspond to an electronic device, and the computer-readablestorage 922 may include one or more confidence thresholds 932 and imagedata 932. For example, the confidence threshold(s) 932 may correspond tothe confidence threshold(s) 130 of the FIG. 1, the confidencethreshold(s) 230 of FIG. 2, the confidence threshold(s) 330 of FIG. 3,the confidence threshold(s) 430 of FIG. 4, the confidence threshold(s)530 of FIG. 5, or any combination thereof. FIG. 9 further illustratesthat the image data 932 may include data associated with one or moresets of faces 934 and/or data associated with one or more sets ofobjects 936. To illustrate, the image data 932 may correspond to theimage data 120 of FIG. 1, the image data 220 of FIG. 2, the image data320 of FIG. 3, the image data 420 of FIG. 4, the image data 520 of FIG.5, or any combination thereof.

In an alternative embodiment, dedicated hardware implementations, suchas application specific integrated circuits, programmable logic arraysand other hardware devices, may be constructed to implement one or moreof the methods described herein. Various embodiments may include avariety of electronic and computer systems. One or more embodimentsdescribed herein may implement functions using two or more specificinterconnected hardware modules or devices with related control and datasignals that can be communicated between and through the modules, or asportions of an application-specific integrated circuit (ASIC).Accordingly, the present system encompasses software, firmware, andhardware implementations.

In accordance with various embodiments of the present disclosure, themethods described herein may be implemented by software programsexecutable by a computer system, a processor, or a device, which mayinclude forms of instructions embodied as a state machine implementedwith logic components in an ASIC or a field programmable gate array(FPGA) device. Further, in an exemplary, non-limiting embodiment,implementations may include distributed processing, component/objectdistributed processing, and parallel processing. Alternatively, virtualcomputer system processing may be constructed to implement one or moreof the methods or functionality as described herein. It is further notedthat a computing device, such as a processor, a controller, a statemachine, or other suitable device for executing instructions to performoperations may perform such operations directly or indirectly by way ofone or more intermediate devices directed by the computing device.

The present disclosure includes computer-readable storage 922 thatstores instructions 924, so that a device connected to a network 928 maycommunicate voice, video, or data over the network 928. While thecomputer-readable storage 922 is shown to be a single device, thecomputer-readable storage 922 may include a single device or multipledevices, such as a centralized or distributed database, and/orassociated caches and servers that store one or more sets ofinstructions. The computer-readable storage 922 is capable of storing aset of instructions for execution by a processor to cause a computersystem to perform any one or more of the methods or operations disclosedherein. For example, the computer-readable storage 922 may storeinstructions for execution by a processor to cause a computer system toperform any one or more of the methods 600, 700, or 800 described withreference to FIG. 6, 7, or 8, respectively.

In a particular non-limiting, exemplary embodiment, thecomputer-readable storage 922 may include a solid-state memory such asembedded memory (or a memory card or other package that houses one ormore non-volatile read-only memories). Further, the computer-readablestorage 922 may be a random-access memory or other volatile re-writablememory. Additionally, the computer-readable storage 922 may include amagneto-optical or optical device, such as a disk or tapes or otherstorage device. Accordingly, the disclosure is considered to include anyone or more of a computer-readable storage device and other equivalentsand successor devices, in which data or instructions may be stored.

Although the one or more components and functions may be describedherein as being implemented with reference to particular standards orprotocols, the disclosure is not limited to such standards andprotocols. Such standards are from time-to-time superseded by faster ormore efficient equivalents having essentially the same functions.Wireless standards for device detection, short-range communications, andlong-range communications can be used by the computer system 900 inselected embodiments.

The illustrations of the embodiments described herein are intended toprovide a general understanding of the structure of the variousembodiments. The illustrations are not intended to serve as a completedescription of all of the elements and features of apparatus and systemsthat utilize the structures or methods described herein. Many otherembodiments may be apparent to those of skill in the art upon reviewingthe disclosure. Other embodiments may be utilized and derived from thedisclosure, such that structural and logical substitutions and changesmay be made without departing from the scope of the disclosure. Figuresare also merely representational and may not be drawn to scale.Accordingly, the disclosure and the figures are to be regarded asillustrative rather than restrictive.

Although specific embodiments have been illustrated and describedherein, it should be appreciated that any subsequent arrangementdesigned to achieve the same or similar purpose may be substituted forthe specific embodiments shown. This disclosure is intended to cover anyand all subsequent adaptations or variations of various embodiments.

Less than all of the steps or functions described with respect to theexemplary processes or methods can also be performed in one or more ofthe exemplary embodiments. Further, the use of numerical terms todescribe a device, component, step, or function, such as first, second,third, and so forth, is not intended to describe an order unlessexpressly stated. The use of the terms first, second, third and soforth, is generally to distinguish between devices, components, steps,or functions unless expressly stated otherwise. Additionally, one ormore devices or components described with respect to the exemplaryembodiments can facilitate one or more functions, where the facilitating(e.g., facilitating access or facilitating establishing a connection)can include less than every step needed to perform the function or caninclude all of the steps needed to perform the function.

In one or more embodiments, a processor (which can include a controlleror circuit) has been described that performs various functions. Itshould be understood that the processor can be implemented as multipleprocessors, which can include distributed processors or parallelprocessors in a single machine or multiple machines. The processor canbe used in supporting a virtual processing environment. The virtualprocessing environment may support one or more virtual machinesrepresenting computers, servers, or other computing devices. In suchvirtual machines (e.g., virtual servers), components such asmicroprocessors and storage devices may be virtualized or logicallyrepresented. The processor can include a state machine, an applicationspecific integrated circuit, and/or a programmable gate array (PGA)including a FPGA. In one or more embodiments, when a processor executesinstructions to perform “operations”, this can include the processorperforming the operations directly and/or facilitating, directing, orcooperating with another device or component to perform the operations.

The Abstract is provided with the understanding that it will not be usedto interpret or limit the scope or meaning of the claims. In addition,in the foregoing Detailed Description, various features may be groupedtogether or described in a single embodiment for the purpose ofstreamlining the disclosure. This disclosure is not to be interpreted asreflecting an intention that the claimed embodiments require morefeatures than are expressly recited in each claim. Rather, as thefollowing claims reflect, inventive subject matter may be directed toless than all of the features of any of the disclosed embodiments. Thus,the following claims are incorporated into the Detailed Description,with each claim standing on its own as defining separately claimedsubject matter.

The above-disclosed subject matter is to be considered illustrative, andnot restrictive, and the appended claims are intended to cover all suchmodifications, enhancements, and other embodiments, which fall withinthe scope of the present disclosure. Thus, to the maximum extent allowedby law, the scope of the present disclosure is to be determined by thebroadest permissible interpretation of the following claims and theirequivalents and shall not be restricted or limited by the foregoingdetailed description.

What is claimed is:
 1. A non-transitory, machine-readable medium,comprising executable instructions that, when executed by a processingsystem of a mobile device including a processor, facilitate performanceof operations, the operations comprising: receiving first image data fora first image from an electronic device, the first image data includingfirst information associated with a first object identified by theelectronic device as being in the first image; receiving second imagedata for a second image from the electronic device subsequent toreceiving the first image data, the second image data including secondinformation associated with a second object identified by the electronicdevice as being in the second image; determining location informationbased on the first information and the second information; and sendingthe location information to the electronic device.
 2. Thenon-transitory, machine-readable storage medium of claim 1, wherein theoperations further comprise: determining image capture instructions forthe second image; and sending the image capture instructions to theelectronic device.
 3. The non-transitory, machine-readable storagemedium of claim 2, wherein the image capture instructions enable theelectronic device to prompt a user of the electronic device to change animage capture property of a camera used to take the first image.
 4. Thenon-transitory, machine-readable storage medium of claim 3, wherein theimage capture property corresponds to a view width of the first object.5. The non-transitory, machine-readable storage medium of claim 2,wherein the image capture instructions cause the electronic device toautomatically change a first set of image capture parameters to a secondset of image capture parameters.
 6. The non-transitory, machine-readablestorage medium of claim 5, wherein the first set of image captureparameters correspond to a narrow view of a particular subject, andwherein the second set of image capture parameters correspond to a wideview of the particular subject.
 7. The non-transitory, machine-readablestorage medium of claim 1, wherein the operations further comprise:sending update model information to the electronic device based on thefirst image responsive to receiving the first image data, the updatemodel information including image data to replace module informationused by the electronic device to identify the first object.
 8. Thenon-transitory, machine-readable storage medium of claim 1, wherein theoperations further comprise: sending update model information to theelectronic device based on the location information, the update modelinformation including image data to replace model information used bythe electronic device to identify the first object, the second object,or both.
 9. A mobile device, comprising: a processing system including aprocessor; and a memory that stores executable instructions that, whenexecuted by the processing system, facilitate performance of operations,the operations including: obtaining first image data for a first imagefrom an electronic device, the first image data including firstinformation associated with a first object identified by the electronicdevice as being in the first image; obtaining second image data for asecond image from the electronic device subsequent to receiving thefirst image data, the second image data including second informationassociated with a second object identified by the electronic device asbeing in the second image; determining location information based on thefirst information and the second information; and providing the locationinformation to the electronic device.
 10. The mobile device of claim 9,wherein the operations further comprise: determining image captureinstructions for the second image; and sending the image captureinstructions to the electronic device.
 11. The mobile device of claim10, wherein the image capture instructions enable the electronic deviceto prompt a user of the electronic device to change an image captureproperty of a camera used to take the first image.
 12. The mobile deviceof claim 9, wherein the operations further comprise: sending updatemodel information to the electronic device based on the first imageresponsive to receiving the first image data, the update modelinformation including image data to replace module information used bythe electronic device to identify the first object.
 13. The mobiledevice of claim 9, wherein the operations further comprise: sendingupdate model information to the electronic device based on the locationinformation.
 14. The mobile device of claim 13, wherein the update modelinformation comprises image data to replace model information used bythe electronic device to identify the first object, the second object,or both.
 15. A method, comprising: obtaining, by a processing systemincluding a processor, first image data for a first image from anelectronic device, the first image data including first informationassociated with a first object identified by the electronic device asbeing in the first image; obtaining, by the processing system, secondimage data for a second image from the electronic device subsequent toreceiving the first image data, the second image data including secondinformation associated with a second object identified by the electronicdevice as being in the second image; identifying, by the processingsystem, location information based on the first information and thesecond information; and providing, by the processing system, thelocation information to the electronic device.
 16. The method of claim15, further comprising: determining, by the processing system, imagecapture instructions for the second image; and sending, by theprocessing system, the image capture instructions to the electronicdevice.
 17. The method of claim 16, wherein the image captureinstructions further enable the electronic device to prompt a user ofthe electronic device to change an image capture property of a cameraused to take the first image.
 18. The method of claim 15, furthercomprising: providing, by the processing system, update modelinformation to the electronic device based on the first image responsiveto the obtaining the first image data, the update model informationincluding image data to replace module information used by theelectronic device to identify the first object.
 19. The method of claim15, further comprising: providing, by the processing system, updatemodel information to the electronic device based on the locationinformation.
 20. The method of claim 19, wherein the update modelinformation comprises image data to replace model information used bythe electronic device to identify the first object, the second object,or both.